#ifndef _HEAD_GHOST_H
#define _HEAD_GHOST_H
 
#include "Object.h"

#define HEAD_GHOST_VX	0.1
#define HEAD_GHOST_VY	0.08
#define HEAD_GHOST_DISTANCE_Y	50 

/************************************************************************/
/* Head Ghost Class                                                        */
/************************************************************************/

class HeadGhost : public Object
{
private:
	 
	float time_die;			//tinh thoi gian chet

	Sprite* p_light;
 
	bool is_turn_left;			//huong di chuyen cua red bat
	float min_y, max_y;			//khoang cach y ma red bat di chuyen o giua min va max

public:
	/*
	 *	get/set properties
	 */
	OBJECT_TYPE getObjectType();

	/*
	 *	Constructor/Destructor
	 */	
	HeadGhost(LPDIRECT3DDEVICE9 d3ddv,  LPDIRECT3DSURFACE9 BackBuffer, LPD3DXSPRITE SpriteHandler, float x, float y, int ID, int Object_State, int Direction);	
	~HeadGhost();

	/*
	 *	Method
	 */	
  	void move(list<Object*>* obj_list, float TPF, Object* simon);	
	void update(list<Object*>* obj_list, DxInput* input, float TPF, Object* simon);

	void render(int cameraX, int cameraY);
	void changeState(int state);
};

#endif